/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package myftp.core.action;

import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JTable;
import myftp.core.view.listener.FileTableListener;

/**
 *
 * @author CAVARLE Glenn, LUCAS Stéphane
 * Permet l'apparition d'un popup sur les tables de fichiers
 */
public class PopUpAction extends AbstractAction {

    /**
     * Tableau sur lequel le popup est placé
     * @var currentTable
     */
    private JTable currentTable = null;

    /**
     * Action à effectuer
     * @var action
     */
    private String action = "";

    /**
     * listener du tableau
     * (Pour différencier local/distant)
     * @var listener
     */
    private FileTableListener listener;

    /**
     * Constructeur PopupAction
     * @param listener
     * @param table
     * @param action
     */
    public PopUpAction(FileTableListener listener, JTable table, String action) {
        super(action);
        this.listener = listener;
        this.currentTable = table;
        this.action = action;
    }

    /**
     * Lance l'action choisie
     */
    public void actionPerformed(ActionEvent e) {

        if (action.equals("Créer un Dossier")) {
		/* appel de la methode de création de dossier */
            listener.createDir(currentTable);

        } else if (action.equals("Supprimer un Dossier")) {
		/* appel de la methode de suppression de dossier */
            listener.deleteDir(currentTable);

        } else if (action.equals("Télécharger")) {
		/* appel de la methode d'ajout de transfert */
            listener.doTransfert(currentTable);

        } else if (action.equals("Supprimer fichier")) {
		/* appel de la methode de suppression de fichier */
            listener.deleteFile(currentTable);

        } else if (action.equals("Rafraichir")) {
		/* appel de la methode de Rafraichissement du tableau */
            listener.refreshList(currentTable);
        }

    }
}
